﻿
namespace Framework.Network
{
    public interface IMessage
    { 
    }

    public interface IRequest : IMessage
    {
        int RpcId { get; set; }
    }

    public interface IResponse : IMessage
    {
        int Error { get; set; }
        string Message { get; set; }
        int RpcId { get; set; }
    }

    public class ErrorResponse : IResponse
    {
        public int Error { get; set; }
        public string Message { get; set; }
        public int RpcId { get; set; }
    }

    // 不需要返回消息
	public interface IActorMessage: IMessage
	{
		long ActorId { get; set; }
	}

	public interface IActorRequest : IRequest
	{
		long ActorId { get; set; }
	}

	public interface IActorResponse : IResponse
	{
	}

    public interface IActorLocationMessage : IActorRequest
	{
	}

	public interface IActorLocationRequest : IActorRequest
	{
	}
	
	public interface IActorLocationResponse : IActorResponse
	{
	}
}
